package com.example.blog.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.example.blog.entity.BlogType;

@Mapper
public interface TypeMapper {
    // 查询所有未删除的类型
    List<BlogType> selectAll();
    
    // 根据ID查询类型
    BlogType selectByPrimaryKey(@Param("typeId") Integer typeId);
    
    // 根据用户ID查询类型
    List<BlogType> selectByUserId(@Param("userId") Integer userId);
    
    // 插入新类型
    int insert(BlogType blogType);
    
    // 更新类型
    int updateByPrimaryKey(BlogType blogType);
    
    // 删除类型（软删除）
    int deleteByPrimaryKey(@Param("typeId") Integer typeId);
    
    // 检查类型名称是否已存在（按用户ID）
    int checkTypeNameExists(@Param("typeName") String typeName, @Param("userId") Integer userId);
    
    // 检查类型是否被博客使用
    int checkTypeInUse(@Param("typeId") Integer typeId);
} 